﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using Atendex.Dominio;
using Atendex.Web.AppCode;
using Atendex.Infraestrutura.Repositórios;

public partial class MasterPage : System.Web.UI.MasterPage
{


    RepositorioAtendente repositorio = new RepositorioAtendente();

    protected void Page_Load(object sender, EventArgs e)
    {
        this.lblMensagem.Visible = false;
        if (!this.IsPostBack)
        {
            IAtendente atendente = AtendexContext.AtendenteAtual(this.Page);
            LogaAtendente(atendente);
        }
    }

    protected void btnLogin_Click(object source, EventArgs e)
    {
        IAtendente atendente = repositorio.ObtemPorLoginESenha(txtLogin.Text, txtSenha.Text);
        if (atendente == null)
        {
            ShowMensagem("Login ou Senha incorretos.");
        }
        else
        {
            LogaAtendente(atendente);
            AtendexContext.SetAtendenteAtual(this.Page, atendente);
        }


    }

    private void ShowMensagem(string mensagem)
    {
        this.lblMensagem.Text = mensagem;
        this.lblMensagem.Visible = true;

    }

    private void LogaAtendente(IAtendente atendente)
    {
        if (atendente == null)
        {
            this.pnlLogin.Visible = true;
            this.pnlLogado.Visible = false;
        }
        else
        {
            this.pnlLogin.Visible = false;
            this.pnlLogado.Visible = true;
            this.lblNomeUsuario.Text = atendente.Nome;
        }
    }

}
